Celestial navigation system for an autonomous robot

ABSTRACT

An autonomous robot system including a transmitter disposed within a working area and a mobile robot operating within the working area. The transmitter includes an emitter for emitting at least one signal onto a remote surface above the working area. The mobile robot includes a robot body, a drive system configured to maneuver the robot over a surface within the working area, and a navigation system in communication with the drive system. The navigation system includes a receiver responsive to the emitted signal as reflected off of the remote surface and a processor connected to the receiver and configured to determine a relative location of the robot within the working area in response to the receiver responding to the reflected signal.

CROSS REFERENCE TO RELATED APPLICATIONS

This U.S. patent application is a continuation of, and claims priority under 35 U.S.C. §120 from, U.S. patent application Ser. No. 11/176,048, filed on Jul. 7, 2005, which claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application 60/586,046, filed on Jul. 7, 2004. The disclosures of these prior applications are considered part of the disclosure of this application and are incorporated herein by reference in their entireties.

TECHNICAL FIELD

The present invention relates generally to robotic systems and, more specifically, to navigational systems for autonomous robots.

BACKGROUND

Automated robots and robotic devices are becoming more prevalent today and are used to perform tasks traditionally considered mundane, time-consuming, or dangerous. As the programming technology increases, so too does the demand for robotic devices that can navigate around a complex environment or working space with little or no assistance from a human operator.

Robotic devices and associated controls, navigational systems, and other related systems are being developed. For example, U.S. Pat. No. 6,594,844 discloses a Robot Obstacle Detection System, the disclosure of which is hereby incorporated by reference in its entirety. Additional robot control and navigation systems, and other related systems, are disclosed in PCT Published Patent Application No. WO 2004/025947, and in U.S. patent application Ser. Nos. 10/167,851, 10/056,804, 10/696,456, 10/661,835, 10/320,729, and 10/762,219, the disclosures of which are hereby incorporated by reference in their entireties.

Many autonomous robots navigate a working space by simply moving randomly until an obstacle is encountered. Generally, these types of robots have on-board obstacle detectors, such as bump sensors or similar devices, that register contact with an obstacle. Once contact is made, command routines typically direct the robot to move in a direction away from the obstacle. These types of systems, which are useful for obstacle avoidance, are limited in their ability to allow a robot to track its location within a room or other working environment. Other systems, often used in conjunction with the bump sensors described above, use an infrared or other detector to sense the presence of nearby walls, obstacles, or other objects, and either follow the obstacle or direct the robot away from it. These systems, however, are also limited in their ability to allow a robot to navigate effectively in a complex environment, as they allow the robot to only recognize when objects are in its immediate vicinity.

In more advanced navigational systems, a robot incorporates an infrared or other type of transmitter. This transmitter directs a series of infrared patterns in horizontal directions around the robot. These patterns are, in turn, detected by a stationary receiver, generally placed at or near a boundary of the working space, on a wall, for example. A microprocessor uses the information from the signals to calculate where in the working space the robot is located at all times; thus, the robot can truly navigate around an entire area. These types of systems, however, are best employed in working spaces where few objects are present that may interfere with the dispersed patterns of infrared signals.

These limitations of the above types of navigational systems are, at present, a hurdle to creating a highly independent autonomous robot, which can navigate in a complex environment. There is, therefore, a need for a navigational system for a robot that can allow the robot to operate autonomously within an environment that may be cluttered with a number of obstacles at or near the operational or ground level. Moreover, a navigational system that can be integrated with some or all of the above systems (the bump sensors, for example) is desirable. Such a navigational system should allow a robot to recognize where it is at all times within a working area, and learn the locations of obstacles therein.

SUMMARY

In one aspect, the invention relates to a navigational system for an autonomous robot that includes a stationary transmitter for emitting at least two signals, the signals directed toward a surface remote from a working area, such as a wall bordering a floor (upon which a robot operates), or a ceiling located above the floor. The system also includes a receiver mounted to an autonomous robot containing various power, motive, and task-related components. The receiver detects the two signals emitted by the emitter, and a processor determines the location of the robot within the working area based upon the received signals. Generally, the signals directed to the remote surface are infrared signals, but other embodiments are also possible. The robot detects the signal energy reflected from the ceiling and, by calculating the azimuth and elevation of the signals relative to the robot, can determine its location.

In another aspect, the invention relates to a method of control for an autonomous robot including the steps of: transmitting a signal from a stationary emitter to a surface remote from a working area; detecting the signal using a receiver integral with an autonomous robot; and directing a movement of the autonomous robot within the working area, the movement based at least in part upon detection of the signal.

In yet another aspect, the invention relates to a method of control for an autonomous robot including the steps of: transmitting at least two signals from a stationary emitter to a surface remote from a working area; detecting the signals using a receiver integral with an autonomous robot; and determining a location of the autonomous robot within the working area, the location based at least in part upon detection of the signal.

In still another aspect, the invention relates to a signal transmitter for providing navigational markings for use by an autonomous robot including: a power source; and a modulated signal emitter, wherein the signal emitter sequentially emits a first coded signal and a second coded signal, the first signal and the second signal directed to a surface remote from a working area of the robot.

In still another aspect, the invention relates to a receiver for detecting emitted navigational markings, the receiver mountable to an autonomous robot, the receiver including: a lens including a plurality of photodiodes, each photodiode oriented orthogonally to each adjacent photodiode, each photodiode adapted to detect a signal reflected from a remote surface; and a processor for processing the signals received from the plurality of photodiodes, the processor including a plurality of data outputs.

In another aspect, the invention relates to a navigational control system for an autonomous robot including a transmitter subsystem having a stationary emitter for emitting at least one signal, and an autonomous robot operating within a working area, the autonomous robot having a receiving subsystem. The receiving subsystem has a receiver for detecting the signal emitted by the emitter and a processor for determining a relative location of the robot within the working area upon the receiver detecting the signal. In certain embodiments of the above aspect, the emitter includes a modulated signal emitter and may sequentially emit a first coded signal and a second coded signal. In other embodiments of this aspect, the receiver includes a plurality of photodiodes, and may include four or five photodiodes. In some embodiments, at least four photodiodes are arranged in a substantially planar orientation, and may be oriented orthogonally to each adjacent photodiode. In certain embodiments, the fifth photodiode is oriented substantially orthogonally to each of the four photodiodes. Some embodiments orient at least one of the photodiodes in a direction corresponding to a reference direction of travel of the robot.

In other embodiments of the above aspect, the processor further includes a navigational control algorithm, and may direct a movement of the robot within the working area upon the receiver detecting the signal. In certain embodiments, the emitter emits at least two signals, and may be located on a robot docking station. In certain embodiments, the signal includes light having at least one of a visible wavelength and an infrared wavelength. Alternative embodiments direct at least one signal at a surface remote from the working area.

In another aspect, the invention relates to a method of control for an autonomous robot, including the steps of transmitting a signal from a stationary emitter, detecting the signal using a receiver integral with the robot operating within a working area, and determining a relative position of the robot in the working area based at least in part on the detected signal. The method may include the step of directing a movement of the robot within the working area, the movement based at least in part upon the position of the robot. Certain embodiments may include the step of storing a position of the robot and/or the step of comparing the position of the robot to a stored position.

Other embodiments of the above aspect include the step of directing a movement of the robot within the working area, the movement based at least in part on the stored position. In certain embodiments, the relative position of the robot is based at least in part on at least one of an elevation and an azimuth of the detected signal. In other embodiments, the transmitted signal is directed to a surface remote from the working area.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the following description, various embodiments of the present invention are described with reference to the following drawings, in which:

FIG. 1 is a schematic view of a navigational system for an autonomous robot in accordance with one embodiment of the invention;

FIG. 2 is a schematic view of a navigational system for an autonomous robot in accordance with another embodiment of the invention;

FIG. 3A is a side view of a stationary emitter in accordance with one embodiment of the invention;

FIG. 3B is a side view of a stationary emitter in accordance with another embodiment of the invention;

FIG. 4A is a side view of a infrared receiver for an autonomous robot in accordance with one embodiment of the invention;

FIG. 4B is a top view of the infrared receiver of FIG. 4A;

FIG. 4C is a side view of a infrared receiver for an autonomous robot in accordance with another embodiment of the invention;

FIG. 5A is a representation of the control system of an infrared receiver for an autonomous robot in accordance with one embodiment of the invention;

FIG. 5B is a flowchart of a signal detection and localization program in accordance with one embodiment of the invention;

FIG. 6 is a top view of a navigational system for an autonomous robot in accordance with another embodiment of the invention; and

FIGS. 7-14 are schematic circuit diagrams of infrared receivers and transmitters for a navigational system in accordance with one embodiment of the invention.

DETAILED DESCRIPTION

FIG. 1 is a schematic view of a navigational system 10 for an autonomous robot 12 in accordance with one embodiment of the invention. The components of the system 10 include, in this embodiment, a transmitter 20, a charging or base station 22, and a robot 12 that operates in a room or other similar working area 14. In this case, the working area 14 is a floor of a room, bounded at least in part by walls 16. Borders of a ceiling 18 also intersect the walls 16 and are remote from the working area 14. The depicted transmitter 20 includes two emitters 22, 24. In this embodiment, the base station 22 may include an emitter 26 as well. In various embodiments, any combination or quantity of emitters may be used on the base station 26, or transmitter 20, or both. The robot 12 includes an on-board microprocessor, power and drive components, task-specific components (dirt sensors, vacuums, brushes, etc.), and at least one receiver, such as a infrared receiver 28. The robot 12 may also include certain buttons, switches, etc. for programming the robot, or such instructions may be directed by a remote control (not shown) or a personal computer (not shown). Depending on the application, certain components may be removed from the disclosed system 10, or other components may be added. Also, for simplicity, this disclosure will describe vacuuming as a demonstrative task of the autonomous robot 12. It will be apparent, though, that the navigation system disclosed herein has wide applications across a variety of robotic systems. For example, a robot may be used for floor waxing and polishing, floor scrubbing, ice resurfacing (as typically performed by equipment manufactured under the brand name ZAMBONI), sweeping and vacuuming, unfinished floor sanding and stain/paint application, ice melting and snow removal, grass cutting, etc. Any number of task-specific components may be required for such duties, and may each be incorporated into the robot, as necessary.

The transmitter 20 directs at least two infrared signals 22 a, 24 a from emitters 22, 24 to a surface remote from the working area 14 upon which the robot 12 operates. The depicted embodiment directs the signals 22 a, 24 a to the ceiling 18, but it may also direct the signals 22 a, 24 a to a portion of a wall 16, or both. The signals 22 a, 24 a may be directed to any point on the remote surface, but directing the signals as high as possible above the working area 14 is generally desirable. Directing the signals to a high point allows them to be more easily detected by the robot 12, as the field of view of the robot receiver 28 is less likely to be blocked by a tall obstacle (such as a high-backed chair or tall plant). In this disclosure, the regions of contact 22 b, 24 b of the signals 22 a, 24 a on the remote surface will be referred to as “points,” regardless of the size of the intersection. For example, by using a collimator in conjunction with the emitters (described below), the points of intersection 22 b, 24 b of the signals 22 a, 22 b can be a finite area with the signal strongest at approximately central points 22 c, 24 c. In alternative embodiments, central points 22 c, 24 c represent focused laser or other signals that may be used for navigation.

In one embodiment of the transmitter, the signals 22 a, 24 a are directed towards a ceiling 18, at two points 22 c, 24 c, forming a line proximate and parallel to the wall 16 upon which the transmitter 20 is located. Alternatively, and as depicted in FIG. 1, the signals 22 a, 24 b may be directed out away from the wall 16, at an angle of approximately 5° or more, to avoid any interference with objects such as pictures secured to or hung from the wall 16. Generally, the signals 22 a, 24 a are transmitted at a known angle θ between the two signals 22 a, 24 a; in one such embodiment, θ equals approximately 30°, but other angles are contemplated. This angle θ may be set at the time of manufacture or user-defined based on particular applications or other requirements. By setting the angle θ to a known value, the distance S between the signals 22 a, 24 a at the point of contact 22 b, 24 b with ceiling 18 may be determined, provided the heights of the ceiling h₁, h₂ at the points of contact 22 b, 24 b are known. Note that when used on a flat ceiling 18, as depicted, h₁ equals h₂.

In the embodiment depicted in FIG. 1, base station 22 emits signal 26 a, which may serve as another or optional signal that the robot 12 may utilize. Here signal 26 a is directed toward a wall 16, so that the point of contact 26 b is high enough to avoid any objects that may obstruct the robot's 12 field of view. Central point 26 c (or laser point) contacts the wall 16 at height h₃.

As the robot 12 moves within a working area 14, it detects the signals 22 a, 24 a emitted by the transmitter 20 as energy bouncing or reflecting off the diffuse ceiling surface 18. In an alternative embodiment, visible points may be used in place of infrared points. An on-board camera may replace the infrared receiver in detecting either infrared or visible points. The robot's microprocessor converts the signals 22 b, 24 b sensed by the receiver 28 into bearings from the robot 12 to the signals 22 b, 24 b. The microprocessor calculates the representative elevation angles ε₁, ε₂ and the azimuths α₁, α₂ of the signals to determine the location of the robot 12 within the working area 14. In this embodiment, the azimuths α₁, α₂ are measured utilizing the “forward” direction of movement M of the robot 12 as a datum, but any suitable datum can be used. By calculating the elevation angle and azimuth from the robot 12 to the two signals 22 b, 24 b, the robot 12 is able to locate itself within a room with accuracy.

FIG. 2 depicts another embodiment of a navigational system 110 for an autonomous robot 112 in accordance with the invention. Here, a robot 112 moves in a working area, in this case a floor 114. A transmitter 120 is installed at the top frame of a doorway 132 between two rooms 136, 138. Similar to the embodiment depicted in FIG. 1, the transmitter 120 is installed at a known distance h₄ above work area 114. In other embodiments, the transmitter 120 may be installed at the height of ceiling 118. The transmitter 120 may also be recessed within the door frame 130 or ceiling 118 to reduce its profile and limit the impact on architectural aesthetics of a room. Additionally, the transmitter 120 may be disguised to resemble a cover plate for a sprinkler head, speaker, or other device.

The transmitter 120 emits two signals 122 a, 124 a (depicted graphically by a plurality of arrows) into the two rooms 136, 138. The signals 122 a, 124 a may be configured to not overlap each other, therefore providing a distinct signal on each side of the door centerline 130. In other embodiments, overlap of the signals 122 a, 124 a may be desired. The robot 112 includes a receiver 128 that has a field of vision 134. The emitted signals 122 a, 124 a are detected by the receiver 128 when the robot's field of vision 134 intersects the signals 122 a, 124 a. Similar to the embodiment in FIG. 1, the robot calculates the azimuth and elevation to the transmitter 120 to determine its relative location. Similar to the embodiment described above, by detecting only one signal, the robot 112 can calculate a bearing to the transmitter 120. Accordingly, the transmitter 120 functions as a beacon for the robot 112 to follow and, if the signal is coded, the robot 112 may determine which room of a number of rooms it is located in, based on the coded signal. In this regard, the robot 112 is able to determine its relative location, on a room-by-room basis, as opposed to determining its location within a room.

FIG. 3A shows a transmitter 20 in accordance with one embodiment of the invention. The depicted transmitter 20 is plugged into a wall outlet 40 for convenience and unobtrusiveness, but other transmitters and locations may be utilized. For example, the transmitter may be placed anywhere within a room, provided it has an available power source. Battery-powered transmitters are particularly versatile, in that they may be located remote from a wall outlet. Such battery-operated transmitters could be unobtrusively located above window or door frames, or on top of tall furniture such as dressers or bookshelves. Optionally, the transmitter may include a visible signal option, aligned with the emitted signals, allowing a user to direct the signals to particular locations when the device is initially installed. Additionally, more than one transmitter may be used, if desired. Such a system could include communication capability between the various transmitters, for example to ensure that only one signal or a subset of signals are emitted at any given time.

The transmitter 20 in FIG. 3A includes a housing 42, constructed of plastic or like material. The transmitter 20 may include a power receptacle 44 so the outlet that the transmitter 20 utilizes for power is still available for other uses. (In this figure, the transmitter 20 is shown cut-away above the line L.) The transmitter includes two emitters 22, 24, set within the housing 42. Alternatively, the emitters 22, 24 may be flush with or extend beyond the housing 42. Setting the emitters 22, 24 within the housing 42 allows the signals 22 a, 24 a to be directed by utilizing collimators 22 e, 24 e. The collimators 22 e, 24 e may be formed within the housing 42 or may be discreet components within the housing 42. Alternatively, the collimators 22 e, 24 e may be secured to the outside of the housing 42. In alternative embodiments, lenses 22 d, 24 d may be included, with or without collimators 22 e, 24 e to focus and direct the signals 22 a, 24 a. These basic manufacturing considerations can also be adapted for emitters that are utilized on charging or base stations as well. One or more emitters on a base station can serve as an additional point of navigation for the robot within the room, or may simply aid the robot in locating the base station.

FIG. 3B depicts a transmitter 120 for use with the navigational system 110 depicted in FIG. 2. The transmitter 120 is secured to the underside of an upper cross member of the door frame 132, but may also be recessed therein or secured to or recessed within ceiling 118. The transmitter 120 includes two emitters 122, 124. Other embodiments of the transmitter 120 may include more than two emitters or just a single emitter, depending on the application. By utilizing two emitters the transmitter can direct signals into two different rooms, generally on either side of the centerline 130 of the door frame 132. This allows a robot to distinguish in which room it is presently located. More than two emitters may be utilized with collimators 122 e, 124 e to distinguish different areas within a given room. Such configuration allows the robot to sense its relative location within a room and adjust its cleaning behavior accordingly. For example, a signal could mark an area of the room that the robot would likely get stuck in; the emitted signal could allow the robot to recognize the area and accordingly not enter it, even though it might otherwise be able to do so unimpeded. Alternatively, or in addition, the different signals could mark areas that require different cleaning behaviors (due to carpeting or wood floors, high traffic areas, etc.).

Turning back to FIG. 3B, the emitters may be installed flush with or extend beyond the housing 142. Setting the emitters 122, 124 within the housing 142 allows the signals 122 a, 124 a to be directed by utilizing collimators 122 e, 124 e. The collimators 122 e, 124 e allow the signals 122, 124 to be directed to two sides of the centerline 130 of doorframe 132, without any signal overlap, if so desired. The collimators 122 e, 124 e may be formed within the housing 142 or may be discreet components within the housing 142. Alternatively, the collimators 122 e, 124 e may be secured to the outside of the housing 142. In alternative embodiments, lenses 122 d, 124 d may be included, with or without collimators 122 e, 124 e, to focus and direct the signals 122 a, 124 a.

In one embodiment of the invention, each signal (regardless of emitter location or number of signals) is modulated at 10 kHz, and is coded with an 8-bit code to serve as a unique identifier of the signal, thus preventing the robot from confusing one point with another. Accordingly, more than two signals may be employed to increase the accuracy of the robot's calculations regarding its location within a working area. As noted above, using only one emitter allows the robot to take a heading base on that signal. Using more than two points enables the robot to continue navigating, if fewer than all of the points are detected (either due to failure of a signal transmission or if the robot moves to a location where fewer than all the points are visible).

In one embodiment, the transmitter pulses the coded signals as follows. After an initial synchronization pulse, the first signal at 10 kHz is emitted for 100 ms. This provides a sufficient time period for the receiver and the processor in the robot to calculate azimuth and elevation angles, as discussed in detail herein below. So that the robot can also determine which signal is being received, the transmitter next pulses a series of five bits, each for 10 ms. The five bits include two start bits, for example a zero and a one, followed by a unique three bit identifier to identify that particular signal or point. After a 100 ms delay, the transmitter repeats the sequence for the second signal or point. By changing the modulation frequency and/or the identifier, the second signal or point can be uniquely distinguished from the first. Any number of unique signals can be transmitted and identified, in this manner. After the series of signals are transmitted, the transmitter waits a substantially longer period of time, for example on the order of a random one to two second interval, before repeating the transmitting sequence, starting again with the first signal. The length of time for each transmission is merely exemplary, and may be varied based upon user preference, application, or other needs. Additionally, the signals may be modulated at the same or different frequencies.

FIG. 4A depicts a side view of a receiver 228 for use with an autonomous robot, the receiver 228 surface mounted on the robot housing 212. FIG. 4B is a top view of the same receiver 228. The receiver 228 includes an outer shell or housing 244 of a generally translucent or transparent, high-impact plastic or like material. Four photodiodes 246 a, 246 b, 246 c, and 246 d are installed in an orientation in the housing 244 generally corresponding to four adjacent sides of a cube. Accordingly, each photodiode is generally perpendicular to the two photodiodes on either side of it and parallel to the photodiode opposite it. Located generally above the plane of orientation of photodiodes 246 a-246 d is a fifth photodiode 246 e. At least one photodiode, in this case photodiode 246 a, is oriented toward a direction of forward movement M of the robot. The photodiodes are connected via control wiring and other components to the robot's microprocessor and related systems. Installing the receiver 228 on the top of the housing 212 provides the robot with a very wide field of view. As depicted, the field of view δ₁ for the horizontally oriented photodiode 246 e is extremely wide. Depending on the sensitivity of the photodiode 246 e, the thickness or translucence of the plastic, and other factors, the field of view δ₁ may approach or exceed 180°. Similarly, due to the orientation of photodiodes 246 a-246 d, their field of view δ₂ approaches near vertical in the direction upwards from the robot housing 212 and is limited below only by the robot housing 212 itself. There is overlap between the fields of view δ₂ in the longitudinal plane, as depicted in FIG. 4B.

As apparent from FIG. 4A, there is overlap between the fields of view δ₁ and δ₂, allowing the robot to readily detect signals within a space in which the robot is operating. The overlap creates a total field of view for the receiver that approaches the entire volume of the room above the robot housing. Accordingly, this embodiment of the receiver 212, is particularly well-suited to the embodiment of the navigation system depicted and described in FIG. 2, where a signal is projected into an entire room. Of course, this receiver 228 could also be used with the system depicted in FIG. 1. Although installing the receiver closer to or above the top surface of the robot provides for a wider range of view, this configuration increases slightly the height of the robot and can limit robot travel beneath certain obstacles such as couches, low tables, or the like.

FIG. 4C depicts an embodiment of the receiver 328 installed below the surface of the robot housing 312. The photodiodes (as a group, 346) are installed in a void 350 or other cavity below the surface of the robot housing 312. A translucent or transparent plastic cover 312 a fits over the void and photodiodes 346. The cover 312 a may be secured to the housing 312 with screws, press-fit connections, or other connectors. Alternatively, the cover 312 a may be simply set in place without connectors, allowing for easier access to the photodiodes 346 for service or replacement. This lower profile version reduces or eliminates the risk associated with the surface mounted receiver described above getting stuck below obstacles.

The construction of this receiver 328 is similar to that of FIG. 4A. Four of the photodiodes 346 a-346 d are installed orthogonal to each other, facing a predefined direction on the robot (i.e., front, back, right, and left). The fifth photodiode 346 e is installed orthogonal to the other four, facing directly up from the top of the robot. Because the photodiodes 346 are set within the housing 312, the receiver's overall field of view δ₃ is limited somewhat. In this embodiment, δ₃ equals approximately 120°. The field of view δ₃ may be wider or narrower depending on the depth of installation below the surface of the robot housing 312. Alternatively, the field of view δ₃ may also be modified by utilizing a cover 312 a having particular effects on signal transmission, such as a fish-eye lens or the like.

One embodiment of the control schematic 560 for the receiver 528 is depicted in FIG. 5A. The infrared receiver 528 includes a number of independent photodiodes (generally, 546), pre-amplified and multiplexed into a single microprocessor 562. As described above, four of the photodiodes 546 a-546 d are installed orthogonal to each other, facing a predefined direction on the robot (i.e., front, back, right, and left). The fifth photodiode 546 e is installed orthogonal to the other four, facing directly up from the top of the robot. Once a reflected signal is received by a photodiode 546, the receiver 528 determines the frequency of modulation of the signal, the identity sequence, if any, and the envelope of received energy (i.e., the demodulation of energy). These values are sent to the microprocessor 562 that, in turn, calculates the location of the robot relative to the signals and the identities of the signals. Additionally, if only a single point is detected by the receiver 528 (if, for example, the robot's view of the second signal is obstructed), the robot may use this point as a heading. By following this heading, the robot can move within the work area until the second point is detected.

In operation, the receiver first measures the “noise floor,” the amount of infrared energy present in the space in which the robot is located, which it sets as the threshold value. Generally, this value is the average of the values for each photodiode. Any subsequent measurement above this threshold value triggers an event (e.g., a calculation of point azimuth and elevation). The receiver then measures the modulation frequency again, searching for an expected increase at 10 kHz (i.e., the frequency of the initial synchronization signal transmitted by the transmitter). If a 10 kHz frequency increase is detected, the robot recognizes this as an emitted navigational signal. The robot then measures the amplitude of the reflected point on all five photodiodes to determine an average value. This value is then compared to a list of signal frequencies to determine which of the signals has been detected. Alternatively, any detected identity sequence associated with the signal can be compared to a list of transmitter codes or signal IDs stored in a lookup table in the robot processor memory.

The on-board microprocessor uses the amplitude value to determine the azimuth and elevation of the received signals, that it then uses to determine its location within a working area. To determine the azimuth, the microprocessor enters the values of the two strongest readings from the four side photodiodes into an algorithm. The algorithm takes the ratio of these two readings to determine the azimuth angle. For example, if the two strongest readings from two photodiodes are equal, the algorithm recognizes that the point is located at an azimuth angle that is directly between the two photodiodes (i.e., at 45 degrees). In a similar algorithm, the amplitude value measured from the strongest side photodiode and the amplitude value measured from the top-facing photodiode value are used to determine the elevation of the signal. These values are then stored in the robot's memory for future reference.

Once the receiver has detected at least two points, and determines the azimuth and elevation of each point, it determines its location within the working space. A triangulation algorithm based on the known ceiling height and the azimuth and elevation of the two detected points allows the processor to determine where in the working space the robot is located. Over time, the values of elevation and azimuth between each coded point and specific locations of the robot within the workspace are stored in the robot's memory, creating a map of the environment in which the robot operates.

In a specific embodiment, the navigation system 200 depicted in FIG. 5B uses an angle-based localization system. Values corresponding to elevation and azimuth are determined by synchronously comparing average amplitudes from the number of detectors arranged on the robot. Of the five detectors, four are arranged in a plane and are angularly spaced by 90° increments. The fifth detector is in the center of the aforementioned four-detector array and aimed so that it is orthogonal to every detector, directed vertically from the robot. Together, this five-element array has a full or near-full hemispherical field of view.

In the embodiment depicted in FIG. 5B, all five detectors monitor for amplitude (Step 705) until an amplitude that crosses a preset threshold is detected (Step 710). After the amplitude on any detector crosses the preset detection threshold, the frequency of the signal on the strongest detector is measured and compared against known transmit frequencies (Step 715). If the measured frequency is one of the known transmit frequencies (Step 720), the next step in the detection process is executed. If the signal is not a known transmit frequency, the detection process is aborted (Step 725) and the signal detected is declared to be “out of band.” Once an “in band” frequency is detected, a time-averaged amplitude of each photodetector is measured, converted to a binary number, and stored for later processing in a microprocessor memory (Step 730). Upon storing the five numerical values (one for each photodiode), the azimuth angle is determined.

Of the four detectors that reside in a single plane, the values of the two strongest signals detected are used to form a ratio to determine the azimuth angle (Step 735). The ratio of second-strongest signal over the strongest signal is either compared to a look-up table or inserted into a mathematical equation to determine an azimuth angle output. Both the look-up table and the equation represent the overlap of the received sensitivity patterns of two orthogonal detectors with known sensor responses. In this embodiment, the photodetector output is modeled as a fourth-order Gaussian response to angle off of “boresight,” a term that generally refers to a vector that is orthogonal to the semiconductor die in the detector package.

To calculate elevation, the strongest signal from azimuth calculation (i.e., the denominator of the ratio) must first be normalized, as if it were on boresight of the respective detector (Step 740). For example, if the azimuth has been determined to be 10° off of boresight from a given detector, that 10° angle is entered into a look-up table or equation that describes the sensor response of any single photodetector. At zero degrees, the output of this look-up table/equation would be 1.00000. As the angle deviates from zero degrees, the output drops to some fraction of 1.00000 (the normalized value at boresight). For example, if a value of 10° is entered into said equation, the output of this operation may be 0.99000. The denominator of the azimuth ratio is then divided by this fractional value in order to scale up, or “normalize,” that value to what it would be if the azimuth were actually zero degrees. This normalized value is then stored in memory, and elevation may be determined.

To calculate elevation, the normalized output from the previous step is used to produce a new ratio with the output from the upward-looking (fifth) detector, such that the numerator is the second-strongest of the two values and the denominator is the strongest of the two values (Step 745). This ratio is then entered into the same look-up table or equation from the step above (used to calculate azimuth), thus outputting an elevation angle.

Benefits of this type of navigation system are numerous. As the robot moves about a working area, measuring the azimuth and elevation of the various points detected, the robot can create a map of the area, thus determining its location within a given space. With this information, the robot can fuse data from all of its on-board sensors and improve cleaning or other task efficiency. One way it can do this is to create a map where the high-traffic areas in a house or other building are located (as indicated by readings from the dirt sensor, for example). The robot would then clean the areas it identified as high traffic (and therefore, often dirty) each time it passes over that area, whether directed to or not. The robot may also improve its cleaning function by merging the output from the wheel drop, stasis, bumper, and wall-following sensors to roughly mark areas of entrapment, or where large obstacles exist, so that those areas can potentially be avoided in future runs.

Another method of improving cleaning efficiency involves selectively programming the robot to clean particular areas, as detailed below. For example, a personal computer or remote control may be used to control the autonomous robot. Although the robot can operate without operator intervention, an operator would first set up the robot, or may wish to direct the robot to operate in particular areas or at particular times. For example, by using a number of transmitters in various rooms on one floor of a house, an operator may be able to direct the robot to clean a number of specific rooms at a certain time. The operator could select, in the control program field of the computer program, the living room, family room, bathroom, and kitchen areas for selected cleaning Once commanded (either immediately or on a predefined schedule), the robot would be signaled to begin its cleaning cycle. The robot undocks from its base/charging station and begins cleaning the closest room on the programmed list. It recognizes this room and can differentiate it by the coded group of infrared points on the ceiling or the coded signal emitted in the room. After the first room is cleaned, the robot checks its level of power, and if needed, returns to its charger for additional charging. In order to return to the charger, in one embodiment the robot can follow the point or points on the ceiling back to the base station. After charging is complete, the robot traverses the area roughly back to the place it left off and resumes cleaning. This sequence of events continues until all of the programmed rooms have been cleaned. Alternatively, the selection of particular areas to clean could be made by remote control or by pressing buttons on a control panel located on the base station. By using a personal computer, however, multiple transmitters could communicate with each other and with the base station via power lines using HOME GENIE®, ECHELON®, or equivalent technology.

An alternative embodiment is depicted in FIG. 6, where a robot uses a number of signals for headings to move from room to room. Robot 612 is moving M within room A when its power level drops below a predetermined level, requiring the robot to return to is base charging station 622. Upon crossing the predetermined power level, the robot's receiver 628 searches for a signal from a nearby emitter. As the robot is located in room A, it detects the signal 622 a emitted from transmitter 620 a and, using the signal 622 a as a heading, moves directly for that signal 622 a.

Alternatively, the robot 612 may emit its own coded pulse, to determine if any transmitters are in the area. This coded pulse could “awaken” sleeping or otherwise dormant transmitters, which would then begin their own emission cycle. Alternatively, the pulse may be some audible or visual signal such as a distinct beep, buzz, or visual strobe. Note that this pulse need not be within the field of view of the transmitter.

The robot 612 will continue to move toward signal 622 a until one of several events happens at or near doorway 632 a. In the first event, the robot may determine, based on readings from its photodiodes, that it is directly under the transmitter 620 a. In the second event, the robot 612 may sense a second signal 624 a, that may overlap the first detected signal 622 a. This event would occur if the configuration of the emitters, collimators, etc., as described in more detail above, provided overlapping signal patterns between signals 622 a and 624 a. In a third event, robot 612 may sense a signal from an entirely different transmitter, in this case signal 622 b from transmitter 620 b. Other events are also contemplated, as suitable for the particular application. The occurrence of the event presents the robot 612 with any number of behavioral, functional, or other options. For example, each coded signal may serve as a unique marker for a different working space. Upon detecting the unique signal associated with a particular working space, the robot may alter its cleaning function. If room A is carpeted but room B is uncarpeted, the robot may adjust its cleaning as it moves from room A to room B. Alternatively, if room B is a known high traffic area and the robot has sufficient power available, the robot 612 may spend a period of time cleaning room B before continuing its return to base 622. Upon detecting a second signal (in this case, signal 622 b) the robot may completely disregard the first signal 622 a received when the return to the base station 622 began. Using new signal 622 b as a heading, it begins moving toward that signal 622 b. The robot 612 may also check its battery level at each event, storing that value in its microprocessor. Over time, the robot will have created a table of battery levels at each event (and battery level change from event to event), and be able to accurately determine precise battery power remaining at each transmitter location.

Once the robot has been moving in room B (shown as 612′ in phantom), it will eventually determine, based on battery level, time, or other factors, to follow the heading provided by signal 622 b, and continue its return to its base station 622. The robot 612 will follow the heading until an event occurs at or near doorway 632 b. Again, the event may be detecting a strength of signal 622 b, indicating that the robot is directly below the transmitter, detecting an overlap signal from 624 b, or detecting a new signal 622 c. The robot 612 may again perform any of the behaviors described above, check and store its battery level, change cleaning characteristics, etc.

Once in room C, the robot 612″ may again, as required, begin to follow the heading provided by signal 622 c. Again, at or near doorway 632 c to room D, an event may direct the robot to perform any number of behaviors. Alternatively, the robot may move directly to charging station 622, guided by emitted signal 626 or some other signal or program.

During its return to base station, as the robot 612 moves from room A to room B to room C and so on, it detects and stores the information about each coded signal that it detects along its route. By storing this information, the robot creates a map, using the coded signals as guideposts, allowing it to return to its starting location in the future. After charging, the robot can return to the room it was working in prior to returning to its base, by comparing the detected signals to those stored in its memory.

FIGS. 7-9 depict schematic circuit representations in one embodiment of various components of an infrared signal transmitter, namely an AC-DC converter, a microcontroller and support circuitry, and LED drivers. More specifically, FIG. 7 shows an electronic circuit that takes 120VAC/60 Hz line voltage and converts it to a regulated +5VDC supply. This supply is used to power the microcontroller and associated circuitry of the transmitter, depicted in FIG. 8. In addition to the power conversion, this circuit also provides an isolated digital logic signal to the microcontroller, whenever a “zero-crossing” in the AC line input is detected.

FIG. 8 includes the transmitter microcontroller and support circuitry (i.e., a clock oscillator and an in-circuit serial programming port). In addition, there is a circuit that allows a user initiated button press to project visible light from a pair of LEDs, co-located with the pair of IR LEDs, onto the remote surface for the purpose of assisting the user in aiming the infrared signal points.

FIG. 9 depicts two channels of infrared LED driver. Each driver controls a preset constant current into a single IR LED, that then emits near-infrared light that is collimated by an external lens and projected onto the remote surface. Each LED is modulated and can be pulse-coded independently of the other. This allows the microcontroller in the robot to discern between the different transmitter signals, to determine which detected signal is which.

FIGS. 10-14 depict schematic circuit representations in one embodiment of various components of the robot mounted infrared receiver, namely DC-DC linear power converters, a five channel preamplifier, a multiplexer and programmable tuned amplifier, detectors, and a microcontroller and associated peripherals. More specifically, FIG. 10 depicts two independent linear voltage regulators. One of the regulation circuits is switched ON-OFF via microcontroller control, in order to conserve battery power during a sleep mode.

FIG. 11 depicts five independent preamplifiers, that convert respective photodiode output currents into voltages of much larger magnitudes. Each preamplifier is built using an operational amplifier in a transimpedance topology. This is so that the preamplifiers can be configured with low-noise. Also, there is a novel, active feedback circuit, that is used to null out large photodiode current offsets caused by exposure of the circuit to sunlight and other strong low-frequency light sources.

FIG. 12 is a multiplexer and programmable tuned amplifier for the receiver. This circuitry can be functionally segregated into three functional blocks. The first block is a multiplexer, that receives signals from the five photodiode preamplifiers and outputs one of them to a programmable attenuator, as commanded by the receiver's microcontroller. The second block is the programmable attenuator, that is used to reduce the overall receiver gain, to deal with the enormous dynamic range of received signals. As depicted herein, there are two digital inputs from the microcontroller, which permits four discrete gain levels to be selected. The third block is a tuned, band-pass amplifier, that provides the bulk of the voltage amplification to signals which fall within the circuit's pass-band.

FIG. 13 depicts the two detectors used in the receiver. The first detector is a rectifying, envelope detector with integral voltage gain. This detector is used to strip the modulation frequency and provide the signal envelope to the microcontroller's analog-to-digital converter. The envelope is used the by microcontroller to determine the magnitude of the received signal. The second detector is a voltage comparator, that is used to square up the receive pulses and convert them to CMOS logic level, thereby allowing the microcontroller to extract digital data from the receive signals.

Lastly, FIG. 14 illustrates the microcontroller and its peripherals. The peripherals include a clock oscillator, ICSP port, voltage supervisor/reset generator, and RS-232 level serial port for interfacing with a host personal computer or a main robot processor.

Accordingly, the navigational system is operationally very robust and is adapted to compensate for substantial variances in infrared energy. For example, if the robot is operating in an environment with high base infrared readings (such as a space with a large number of fluorescent lighting fixtures or windows that allow entry of sunlight), the robot distinguishes the infrared signals generated by the transmitter from the infrared noise present in the space. Similarly, the receiver distinguishes between other off-band signals, such as infrared remote controls. In such cases, establishing an initial threshold value of infrared energy and emitting a predefined, known, modulating infrared signal from the transmitter overcomes these disturbances. Additionally, the transmitter can be tuned to emit a sufficiently strong infrared signal to accommodate surfaces with varied reflectivities.

While there have been described herein what are to be considered exemplary and preferred embodiments of the present invention, other modifications of the invention will become apparent to those skilled in the art from the teachings herein. The particular methods, configurations, and geometries disclosed herein are exemplary in nature and are not to be considered limiting. 

What is claimed is:
 1. An autonomous robot system comprising: a transmitter disposed within a working area and comprising first and second emitters for emitting respective first and second signals onto a ceiling above the working area; and a mobile robot moving within the working area relative to the transmitter, the mobile robot comprising: a robot body; a drive system disposed on the robot body and configured to maneuver the robot over a surface within the working area; and a navigation system in communication with the drive system, the navigation system comprising: a receiver responsive to reflections of the first and second emitted signals from the ceiling; and a processor connected to the receiver and configured to determine a relative location of the robot within the working area in response to the receiver responding to the reflections of the first and second emitted signals; wherein the first and second emitted signals are directable onto the ceiling.
 2. The autonomous robot system of claim 1, wherein the first and second emitted signals are directed toward the ceiling at an angle of about 30 degrees with respect to each other.
 3. The autonomous robot system of claim 1, wherein the transmitter further comprises a collimator for focusing and directing the emitted signals.
 4. The autonomous robot system of claim 1, wherein the first and second emitted signals each comprise a coded signal having a code as a unique identifier, the processor configured to identify the coded signal from the respective code.
 5. The autonomous robot system of claim 4, wherein each emitted signal is modulated at about 10 kHz.
 6. The autonomous robot system of claim 4, wherein the transmitter pulses the coded emitted signals according to a transmission cycle, the transmission cycle comprising: emitting the first coded signal and then stopping emission of the first coded signal; delaying transmission; emitting the second coded signal and then stopping emission of the second coded signal; and then delaying transmission.
 7. The autonomous robot system of claim 6, wherein the transmission cycle further comprises emitting a synchronization signal prior to emitting the first coded signal.
 8. The autonomous robot system of claim 6, wherein the transmission cycle further comprises emitting an end signal after emission of each coded signal and preceding each transmission delay.
 9. The autonomous robot system of claim 1, wherein the receiver comprises a plurality of discrete photodiodes arranged angularly spaced adjacent to one another and substantially in a plane.
 10. The autonomous robot system of claim 1, wherein the navigation system is configured to maneuver the robot according to a heading, and when only one of the emitted signals is detected by the receiver, the navigation system altering the heading to substantially coincide with detected signal at least until the other signal is detected by the receiver.
 11. The autonomous robot system of claim 1, wherein when only one of the emitted signals is detected by the receiver, the navigation system is configured to maneuver the robot about the working area until the other signal is detected by the receiver.
 12. The autonomous robot system of claim 1, wherein the receiver is configured to measure an amount of infrared energy present in a space about the robot and set a threshold energy value, and any subsequent energy measurements by the receiver above the threshold energy value triggering an event in the navigation system.
 13. The autonomous robot system of claim 1, wherein the processor is configured to determine an azimuth angle of each received signal based at least in part on a ratio of signal amplitude values, wherein the signal amplitude values used in determining the azimuth angle comprises the two strongest signal amplitude values among the photodiodes.
 14. The autonomous robot system of claim 1, wherein the processor is configured to determine an azimuth angle and elevation of the first and second signals on the ceiling based on the received reflected signals, the processor determining a location of the robot within the working area based on the azimuth angle and elevation of the respective first and second signals.
 15. The autonomous robot system of claim 1, wherein the processor is configured to store the azimuth angle and elevation of the respective first and second signals in memory and produce a map of the working area based on the stored azimuth angle and elevation of the respective first and second signals.
 16. The autonomous robot system of claim 1, further comprising: an obstacle sensor in communication with the navigation system and responsive to obstacles adjacent the robot, the navigation system configured to maneuver the robot based at least in part on an obstacle detection signal received from the obstacle sensor and indicating presence of an adjacent obstacle.
 17. The autonomous robot system of claim 16, wherein the obstacle sensor comprises a bump sensor.
 18. The autonomous robot system of claim 16, wherein the processor is configured to produce a map of working area based at least in part on an obstacle detection signal received from the obstacle sensor, the navigation system configured to maneuver the robot about the working area with the aid of the map to avoid mapped obstacles.
 19. The autonomous robot system of claim 18, wherein the processor is configured to create a map of the working area based on the relative locations of the robot as the robot maneuvers about the working area.
 20. The autonomous robot system of claim 16, wherein the robot further comprises: a floor cleaner disposed on the robot body; and a dirt sensor in communication with the navigation system, the navigation system maneuvering the robot at least in part in response to a signal from the dirt sensor, wherein the navigation system is configured to associate dirt location information within the working area with a received dirt sensor signal, the navigation system maneuvering the robot at least in part in response to the dirt location information. 